1
จากโครงสร้างข้อมูลไปสู่ประเภทข้อมูลเชิงนามธรรม
AI037Lesson 11
00:00

เส้นทางจาก struct ถึง ประเภทข้อมูลเชิงนามธรรม (ADT) แสดงการเปลี่ยนผ่านจากกล่องใส ที่สายไฟภายในทุกเส้นถูกเปิดเผย ไปยังกล่องดำ ที่ อินเทอร์เฟซ ถูกแยกออกจาก การปฏิบัติใช้งาน. การเปลี่ยนแปลงนี้ทำให้มั่นใจในเรื่อง การปิดผนึก: ผู้ใช้โต้ตอบกับฟังก์ชันเช่น read หรือ combine โดยไม่จำเป็นต้องรู้ว่ารายได้คำนวณหรือเก็บไว้อย่างไร

1. สถาปัตยกรรมคลาส

ทุกคลาสกำหนด เอกลักษณ์ประเภทที่ไม่ซ้ำกัน. แม้ว่าคลาสสองคลาสจะมีสมาชิกเหมือนกัน แต่ C++ จะมองว่าพวกมันไม่เข้ากันได้ การใช้ typedef และ การประกาศล่วงหน้า (เช่น class Screen;) ทำให้เราสามารถออกแบบความสัมพันธ์ที่ซับซ้อนได้ โดยยังคงการสร้างความสมบูรณ์แบบ เราโดยทั่วไปใช้ เวอร์ชันที่สร้างขึ้นเอง ของคอนสตรักเตอร์ เช่น Sales_data() = default;, เพื่อรักษาระดับความสะดวกของชนิดที่มีอยู่แล้ว ($$total = trans;$$)

กล่องดำของประเภทข้อมูลเชิงนามธรรม (ADT)การปฏิบัติใช้งาน (เฉพาะเจาะจง)readprintaddอินเทอร์เฟซสาธารณะ

2. ฟังก์ชันอินเทอร์เฟซที่ไม่ใช่สมาชิก

ฟังก์ชันเช่น read คือ ฟังก์ชันที่เกี่ยวข้องกับคลาสแต่ไม่ใช่สมาชิก. พวกมันเป็นส่วนหนึ่งของอินเทอร์เฟซ แต่ไม่ใช่คลาสเอง มักต้องการ ความเป็นเพื่อน เพื่อเข้าถึงข้อมูลส่วนตัว

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>